﻿using System;
using System.Collections.Generic;
namespace Lib.Query
{
    public interface IUntypedLiteQuery : IReadLiteQuery
    {        
        void Add(string propertyName, CriteriaOperator criteriaOperator, object value);
        void Operator(QueryOperator queryOperator);
        void OrderBy(string propertyName, bool ascending);                        
        new int PageNumber { get; set; }
        new int PageSize { get; set; }        
        void Top(int n);        
    }

    public interface IReadLiteQuery
    {
        List<Criteria> Criteria { get; }
        Type EntityType { get; }        
        OrderByClause OrderByClause { get; }
        int PageIndex { get; }
        QueryOperator QueryOperator { get; }        
        int TopN { get; }        
        int PageNumber {get; }
        int PageSize {get; }        
    }
}
